home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Dr. Windows 3
/
dr win3.zip
/
dr win3
/
VISUALBA
/
SCROLVB.ZIP
/
SCROLL-2.TXT
< prev
next >
Wrap
Text File
|
1994-02-01
|
6KB
|
128 lines
> Program: SCROLL-2 - Visual Basic Demo Code
> Written By: Paul T. Dawson, P.O. Box 682, Chincoteague, VA, 23336
> Summary: VB 2.0 or 3.0 sample code that demonstrates "form scrolling".
No VBX controls required. No API calls required. No cost (free!).
> Requirements: To run the SCROLL-2.EXE file - Windows 3.1 and VBRUN200.DLL.
To use the sample code - Visual Basic 2.0 or higher.
> Limitation: This program will not display properly under Windows 3.0.
> Design Goals:
1. Make a resizable form, with scroll bars to move around a large area.
2. Use the minimum amount of code.
3. Use default values wherever possible.
4. Add lots of comments!
> File List:
SCROLL-2.TXT - This File (no margins or page breaks).
SCROLL-2.MAK - Visual Basic Project.
SCROLL-2.FRM - Visual Basic Form (MDI main form).
SCROLL-X.FRM - Visual Basic Form (MDI child form).
SCROLL-2.FRX - Visual Basic Graphics (just one little icon).
SCROLL-2.EXE - Finished EXE file.
> Design Summary:
This program uses a MDI form as the main form. It has one "MDI child" form,
which is the "container" for all of the controls. Since the ScrollBars
property of the main form is True, Visual Basic automatically handles all
of the scroll bar positioning. The user can resize and/or scroll, and
without any extra code, VB moves everything around perfectly!
The Child form has no caption bar, so it looks exactly like an empty
picture box. It can be many times larger than the screen, and any control
can be placed anywhere on it.
After setting all of the various properties at design time, the program is
activated with ONE LINE of code:
frmScroll.show
After that line, VB does everything else in the scrolling department!
> Details About Objects:
1. frmMain:
The main form is a MDI (Multiple Document Interface) form.
Everything on the form is default, except the caption and the
ScrollBars property (true).
2. frmScroll:
This is the scrolling form, and it can be any size, up to about 32,000
pixels square. The MinButton, MaxButton, and ControlBox properties are
all set to False. Also, the BorderStyle is 0 (none), and when the
program runs, the Caption is set to "" (null), and then the form will
have NO title bar. It will just be one plain empty box!
Also, the MDIChild property is set to True. This is critical!
Setting those six properties correctly is the key to this program!!!
3. picMenuBar:
This is on frmMain, and it has the default Align property of 1, which is
"Align Top". This means that it is "glued" to the top of the MDI form,
and it will stretch automatically when you resize it. This is the usual
place to put a bunch of menu buttons - in this sample program, there is
just one button.
The picMenuBar control is not necessary for the form scrolling!
However, when you are scrolling a giant form around, it's convenient to
have something that is always visible - like picMenuBar.
4. cmdExit:
This is the only control on picMenuBar. At design time, it's just a
random size, but when the program runs, it expands to fill all of
picMenuBar. Whenever you resize the main form, picMenuBar will always
automatically resize. Then Sub picMenuBar_Resize is called to fix the
size of cmdExit.
5. cmdStart:
When you click this, everything starts to happen! This button was added
for the convenience of people without VB who just want to try the EXE
file. It just makes things more interesting to see all of the controls
before they are resized and duplicated.
6. cmdHome(0 to 15):
These are some extra non-critical controls that I added to frmScroll, to
make the scrolling more visible. For a "real" program, these would all
be replaced with "real" controls that actually did something. Actually,
in this program, these buttons move the scrolling form back up to the
starting location in the upper left hand corner of frmMain.
At design time, there is only one cmdHome button. Its Index property is
set to 0 (zero), and then at run time, 15 copies are created.
> Miscellaneous Notes:
1. In this program, frmScroll is resized when the program runs. If you are
designing a scrolling form that's SMALLER than your screen, then it may
be easier to size it, and put all of the controls in the right places,
all at design time. You can't do that if the form will be LARGER than
your screen. If that's the case, you have to use code to resize the form
and move all of the controls to the right locations.
2. Remember, any type of control can be placed onto the frmScroll form!!!
3. With AutoRedraw=False, I have successfully tested this up to 32,000 by
32,000 pixels, the equivalent of 3,333 standard VGA screens. That's over
one BILLION pixels! When the size gets closer to 32,767, things start to
get flakey. VB won't make a form larger than that number, which is equal
to (2^15)-1.
However, even though the form can be 32,767, I found that there were
problems positioning the controls at positions over 32,000. That's why I
suggest 32,000 as the maximum dimension.
32,000 pixels by 32,000 pixels is over 800 square feet - all on one big
scrolling form.
4. Please experiment on non-critical projects first!
/**** <End Of This File> - <10-29-93> - <P.T.D.> ****/